package com.ruoyi.campus.service;

import java.util.List;
import java.util.Map;

import com.ruoyi.campus.domain.MyCollect;

/**
 * 收藏信息Service接口
 *
 * @author zht
 * @date 2021-12-07
 */
public interface IMyCollectService
{
    /**
     * 查询收藏信息
     *
     * @param collId 收藏信息主键
     * @return 收藏信息
     */
    public MyCollect selectMyCollectByCollId(String collId);

    /**
     * 查询收藏信息列表
     *
     * @param myCollect 收藏信息
     * @return 收藏信息集合
     */
    public List<MyCollect> selectMyCollectList(MyCollect myCollect);

    /**
     * 新增收藏信息
     *
     * @param myCollect 收藏信息
     * @return 结果
     */
    public int insertMyCollect(MyCollect myCollect);

    /**
     * 修改收藏信息
     *
     * @param myCollect 收藏信息
     * @return 结果
     */
    public int updateMyCollect(MyCollect myCollect);

    /**
     * 批量删除收藏信息
     *
     * @param collIds 需要删除的收藏信息主键集合
     * @return 结果
     */
    public int deleteMyCollectByCollIds(String[] collIds);

    /**
     * 删除收藏信息信息
     *
     * @param collId 收藏信息主键
     * @return 结果
     */
    public int deleteMyCollectByCollId(String collId);

    /**
     * 根据comId和userId查询是否收藏该商品(小程序端接口)
     * @param comId 商品ID
     * @param userId 用户ID
     * @return 结果
     */
    public int checkIsCollect(String comId, String userId);

    /**
     * 收藏该商品(小程序端接口)
     * @param comId 商品ID
     * @param userId 用户ID
     * @return 结果
     */
    public int toCollect(String comId, String userId);

    /**
     * 取消收藏该商品(小程序端接口)
     * @param comId 商品ID
     * @param userId 用户ID
     * @return 结果
     */
    public int cancelCollect(String comId, String userId);

    /**
     * 查询个人收藏
     * @param userId 用户ID
     * @return 结果
     */
    public List<Map<String, Object>> selectMyCollectByUserId(String userId);
}
